Bug Report for JRuby: Fiber#new still creates new Threads #21
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Hello everyone 👋 ,
Unfortunately there still no solution for jruby/jruby#1169, and we still need the workaround that was removed here 0ec3be3.
This PR is for the sole purpose of demonstrating the issue by providing a working example that can be run locally. It's not meant to be merged. If we agree on re-enabling the workaround 0ec3be3, we can merge the fix proposed in a separate PR #22, and then close this one.
What do you think?
Steps to reproduce the issue
Using CRuby 2.7.2
Setup and run tests without jdbc
Everything is working! 👏
Using JRuby 9.2.19 with OpenJDK 13
Setup and run tests with jdbc only
Database transactions are not getting rolled back using
#start, and#endFailures: 1) DatabaseCleaner::Sequel::Transaction using a postgres connection cleaning should clean database Failure/Error: expect(connection[:users]).to be_empty expected `#<Sequel::JDBC::Postgres::Dataset: "SELECT * FROM \"users\"">.empty?` to be truthy, got false # ./spec/database_cleaner/sequel/jdbc_transaction_spec.rb:48:in `block in Sequel' # ./spec/database_cleaner/sequel/jdbc_transaction_spec.rb:33:in `block in Sequel' 2) DatabaseCleaner::Sequel::Transaction using a postgres connection cleaning should work with nested transaction Failure/Error: expect(connection[:users]).to be_empty expected `#<Sequel::JDBC::Postgres::Dataset: "SELECT * FROM \"users\"">.empty?` to be truthy, got false # ./spec/database_cleaner/sequel/jdbc_transaction_spec.rb:68:in `block in Sequel' # ./spec/database_cleaner/sequel/jdbc_transaction_spec.rb:33:in `block in Sequel' 3) DatabaseCleaner::Sequel::Transaction using a postgres connection start/clean should clean database Failure/Error: expect(connection[:users]).to be_empty expected `#<Sequel::JDBC::Postgres::Dataset: "SELECT * FROM \"users\"">.empty?` to be truthy, got false # ./spec/database_cleaner/sequel/jdbc_transaction_spec.rb:81:in `block in Sequel' # ./spec/database_cleaner/sequel/jdbc_transaction_spec.rb:33:in `block in Sequel' 4) DatabaseCleaner::Sequel::Transaction using a postgres connection start/clean should work with nested transaction Failure/Error: expect(connection[:users]).to be_empty expected `#<Sequel::JDBC::Postgres::Dataset: "SELECT * FROM \"users\"">.empty?` to be truthy, got false # ./spec/database_cleaner/sequel/jdbc_transaction_spec.rb:102:in `block in Sequel' # ./spec/database_cleaner/sequel/jdbc_transaction_spec.rb:33:in `block in Sequel'Notes